package net.suplementos.dao;

import java.util.List;

import javax.persistence.EntityManager;

import net.suplementos.exception.DAOException;
import net.suplementos.pojo.FormaPagamento;
import net.suplementos.pojo.Fornecedor;

public class FormaPagamentoDAO extends JPAAbstractDAO<FormaPagamento, Integer> {

	public FormaPagamentoDAO(EntityManager manager) throws DAOException {
	    super(manager);
	}

	protected Class<FormaPagamento> doGetClass() {
		return FormaPagamento.class;
	}
	
	public FormaPagamento getPorTitulo(String titulo) throws DAOException {
		String consulta = "select fp from FormaPagamento fp where fp.titulo = ?";

		List<FormaPagamento> formaPagamentos = consultar(consulta, titulo);

		if (formaPagamentos == null || formaPagamentos.isEmpty()) {
			return null;
		}

		return formaPagamentos.get(0);
	}
	
	public List<FormaPagamento> listarTodasAtivas() throws DAOException {
		String consulta = "select fp from FormaPagamento fp where fp.ativo = true";

		return consultar(consulta);
	}
	
	public List<FormaPagamento> listarPorFornecedor(Fornecedor fornecedor) throws DAOException {
		String consulta = "select f.formasPagamento from Fornecedor f where f.id = ?";

		return consultar(consulta, fornecedor.getId());
	}
}
